import random
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest


def Msg_Verification_Code(phone):
    # 创建AcsClient实例，需替换为您自己的AccessKey信息
    ACCESS_KEY_ID = 'LTAI5tBNqqpFw72SDggfYLty'  # 在阿里云控制台创建AccessKey时自动生成的一对访问密钥，上面保存的AccessKey
    ACCESS_KEY_SECRET = '1tJ0WGqlPYLBabqqaXoK4KZAEBS0a3'  # 在阿里云控制台创建AccessKey时自动生成的一对访问密钥AccessKey
    SIGN_NAME = '阿里云短信测试'  # 短信签名
    template_code = 'SMS_154950909'  # 短信模板CODE
    PhoneNumber = phone,  # 绑定的测试手机号
    acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, template_code)

    # 创建CommonRequest实例
    request = CommonRequest()

    # 设置请求参数,下面这5行其实不用动
    request.set_accept_format('json')  # 设置API响应格式的方法
    request.set_domain('dysmsapi.aliyuncs.com')  # 设置API的域名的方法
    request.set_method('POST')  # 设置API请求方法
    request.set_version('2017-05-25')  # 设置API版本号
    request.set_action_name('SendSms')  # 设置API操作名
    print(phone)
    # 设置短信模板参数
    request.add_query_param('PhoneNumbers', phone)
    request.add_query_param('SignName', SIGN_NAME)
    request.add_query_param('TemplateCode', template_code)
    random_code = ''.join([str(random.randint(0,9)) for _ in range(6)])
    # request.add_query_param('TemplateParam', '{"code":"666666"}')
    request.add_query_param('TemplateParam', f'{{"code":"{random_code}"}}')

    # 发送短信请求并获取返回结果
    response = acs_client.do_action_with_exception(request)
    return random_code

    print(response.decode('utf-8'))
